/*
Copyright (c) 2008
Heka Lok <heka.lok@gmail.com>
David Feilen <bastian.mezurashii@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/

module defl.c.ecore.x.x;

// What is align used for?
// align(4):
const char[] ECORE_X_SELECTION_TARGET_TARGETS = "TARGETS";
const char[] ECORE_X_SELECTION_TARGET_TEXT = "TEXT";
const char[] ECORE_X_SELECTION_TARGET_COMPOUND_TEXT = "COMPOUND_TEXT";
const char[] ECORE_X_SELECTION_TARGET_STRING = "STRING";
const char[] ECORE_X_SELECTION_TARGET_UTF8_STRING = "UTF8_STRING";
const char[] ECORE_X_SELECTION_TARGET_FILENAME = "FILENAME";
const int ECORE_X_DND_VERSION = 5;
const int ECORE_X_WINDOW_LAYER_BELOW = 2;
const int ECORE_X_WINDOW_LAYER_NORMAL = 4;
const int ECORE_X_WINDOW_LAYER_ABOVE = 6;
const int ECORE_X_PROP_LIST_REMOVE = 0;
const int ECORE_X_PROP_LIST_ADD = 1;
const int ECORE_X_PROP_LIST_TOGGLE = 2;

// Type definitions.
alias uint Ecore_X_Atom;
alias uint Ecore_X_Sync_Counter;
alias void Ecore_X_Screen;
alias void Ecore_X_Connection;
alias void Ecore_X_Display;
alias uint Ecore_X_Cursor;
alias void* Ecore_X_GC;
alias uint Ecore_X_Pixmap;
alias void Ecore_X_Event_Window_Mapping;
alias uint Ecore_X_Sync_Alarm;
alias uint Ecore_X_Window;
alias uint Ecore_X_Colormap;
alias void* Ecore_X_Visual;
alias uint Ecore_X_ID;
alias uint Ecore_X_Drawable;
alias uint Ecore_X_Damage;
alias uint Ecore_X_Time;
alias uint Ecore_X_Region;
alias uint Ecore_X_Picture;

// Enums.
enum Ecore_X_Damage_Report_Level {
	ECORE_X_DAMAGE_REPORT_RAW_RECTANGLES = 0,
	ECORE_X_DAMAGE_REPORT_DELTA_RECTANGLES = 1,
	ECORE_X_DAMAGE_REPORT_BOUNDING_BOX = 2,
	ECORE_X_DAMAGE_REPORT_NON_EMPTY = 3
}

enum Ecore_X_Region_Type {
	ECORE_X_REGION_BOUNDING = 0,
	ECORE_X_REGION_CLIP = 1
}

enum Ecore_X_Event_Mask {
	ECORE_X_EVENT_MASK_NONE = 0,
	ECORE_X_EVENT_MASK_KEY_DOWN = 1,
	ECORE_X_EVENT_MASK_KEY_UP = 2,
	ECORE_X_EVENT_MASK_MOUSE_DOWN = 4,
	ECORE_X_EVENT_MASK_MOUSE_UP = 8,
	ECORE_X_EVENT_MASK_MOUSE_IN = 16,
	ECORE_X_EVENT_MASK_MOUSE_OUT = 32,
	ECORE_X_EVENT_MASK_MOUSE_MOVE = 64,
	ECORE_X_EVENT_MASK_WINDOW_DAMAGE = 32768,
	ECORE_X_EVENT_MASK_WINDOW_VISIBILITY = 65536,
	ECORE_X_EVENT_MASK_WINDOW_CONFIGURE = 131072,
	ECORE_X_EVENT_MASK_WINDOW_RESIZE_MANAGE = 262144,
	ECORE_X_EVENT_MASK_WINDOW_MANAGE = 524288,
	ECORE_X_EVENT_MASK_WINDOW_CHILD_CONFIGURE = 1048576,
	ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE = 2097152,
	ECORE_X_EVENT_MASK_WINDOW_PROPERTY = 4194304,
	ECORE_X_EVENT_MASK_WINDOW_COLORMAP = 8388608,
	ECORE_X_EVENT_MASK_WINDOW_GRAB = 16777216,
	ECORE_X_EVENT_MASK_MOUSE_WHEEL = 536870912,
	ECORE_X_EVENT_MASK_WINDOW_FOCUS_IN = 1073741824,
	ECORE_X_EVENT_MASK_WINDOW_FOCUS_OUT = -2147483648
}

enum Ecore_X_Gravity {
	ECORE_X_GRAVITY_FORGET = 0,
	ECORE_X_GRAVITY_UNMAP = 0,
	ECORE_X_GRAVITY_NW = 1,
	ECORE_X_GRAVITY_N = 2,
	ECORE_X_GRAVITY_NE = 3,
	ECORE_X_GRAVITY_W = 4,
	ECORE_X_GRAVITY_CENTER = 5,
	ECORE_X_GRAVITY_E = 6,
	ECORE_X_GRAVITY_SW = 7,
	ECORE_X_GRAVITY_S = 8,
	ECORE_X_GRAVITY_SE = 9,
	ECORE_X_GRAVITY_STATIC = 10
}

enum Ecore_X_MWM_Hint_Input {
	ECORE_X_MWM_HINT_INPUT_MODELESS = 0,
	ECORE_X_MWM_HINT_INPUT_PRIMARY_APPLICATION_MODAL = 1,
	ECORE_X_MWM_HINT_INPUT_SYSTEM_MODAL = 2,
	ECORE_X_MWM_HINT_INPUT_FULL_APPLICATION_MODAL = 3
}

enum  Ecore_X_MWM_Hint_Decor {
	ECORE_X_MWM_HINT_DECOR_ALL = 1,
	ECORE_X_MWM_HINT_DECOR_BORDER = 2,
	ECORE_X_MWM_HINT_DECOR_RESIZEH = 4,
	ECORE_X_MWM_HINT_DECOR_TITLE = 8,
	ECORE_X_MWM_HINT_DECOR_MENU = 16,
	ECORE_X_MWM_HINT_DECOR_MINIMIZE = 32,
	ECORE_X_MWM_HINT_DECOR_MAXIMIZE = 64
}

enum Ecore_X_MWM_Hint_Func {
	ECORE_X_MWM_HINT_FUNC_ALL = 1,
	ECORE_X_MWM_HINT_FUNC_RESIZE = 2,
	ECORE_X_MWM_HINT_FUNC_MOVE = 4,
	ECORE_X_MWM_HINT_FUNC_MINIMIZE = 8,
	ECORE_X_MWM_HINT_FUNC_MAXIMIZE = 16,
	ECORE_X_MWM_HINT_FUNC_CLOSE = 32
}

enum Ecore_X_Window_Configure_Mask {
	ECORE_X_WINDOW_CONFIGURE_MASK_X = 1,
	ECORE_X_WINDOW_CONFIGURE_MASK_Y = 2,
	ECORE_X_WINDOW_CONFIGURE_MASK_W = 4,
	ECORE_X_WINDOW_CONFIGURE_MASK_H = 8,
	ECORE_X_WINDOW_CONFIGURE_MASK_BORDER_WIDTH = 16,
	ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING = 32,
	ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE = 64
}

enum Ecore_X_Action {
	ECORE_X_ACTION_MOVE = 0,
	ECORE_X_ACTION_RESIZE = 1,
	ECORE_X_ACTION_MINIMIZE = 2,
	ECORE_X_ACTION_SHADE = 3,
	ECORE_X_ACTION_STICK = 4,
	ECORE_X_ACTION_MAXIMIZE_HORZ = 5,
	ECORE_X_ACTION_MAXIMIZE_VERT = 6,
	ECORE_X_ACTION_FULLSCREEN = 7,
	ECORE_X_ACTION_CHANGE_DESKTOP = 8,
	ECORE_X_ACTION_CLOSE = 9
}

enum Ecore_X_Window_Type {
	ECORE_X_WINDOW_TYPE_DESKTOP = 0,
	ECORE_X_WINDOW_TYPE_DOCK = 1,
	ECORE_X_WINDOW_TYPE_TOOLBAR = 2,
	ECORE_X_WINDOW_TYPE_MENU = 3,
	ECORE_X_WINDOW_TYPE_UTILITY = 4,
	ECORE_X_WINDOW_TYPE_SPLASH = 5,
	ECORE_X_WINDOW_TYPE_DIALOG = 6,
	ECORE_X_WINDOW_TYPE_NORMAL = 7,
	ECORE_X_WINDOW_TYPE_UNKNOWN = 8
}

enum Ecore_X_Window_State_Hint {
	ECORE_X_WINDOW_STATE_HINT_NONE = -1,
	ECORE_X_WINDOW_STATE_HINT_WITHDRAWN = 0,
	ECORE_X_WINDOW_STATE_HINT_NORMAL = 1,
	ECORE_X_WINDOW_STATE_HINT_ICONIC = 2
}

enum Ecore_X_Window_Input_Mode {
	ECORE_X_WINDOW_INPUT_MODE_NONE = 0,
	ECORE_X_WINDOW_INPUT_MODE_PASSIVE = 1,
	ECORE_X_WINDOW_INPUT_MODE_ACTIVE_LOCAL = 2,
	ECORE_X_WINDOW_INPUT_MODE_ACTIVE_GLOBAL = 3
}

enum Ecore_X_WM_Protocol {
	ECORE_X_WM_PROTOCOL_DELETE_REQUEST = 0,
	ECORE_X_WM_PROTOCOL_TAKE_FOCUS = 1,
	ECORE_X_NET_WM_PROTOCOL_PING = 2,
	ECORE_X_NET_WM_PROTOCOL_SYNC_REQUEST = 3,
	ECORE_X_WM_PROTOCOL_NUM = 4
}

enum Ecore_X_Window_State_Action {
	ECORE_X_WINDOW_STATE_ACTION_REMOVE = 0,
	ECORE_X_WINDOW_STATE_ACTION_ADD = 1,
	ECORE_X_WINDOW_STATE_ACTION_TOGGLE = 2
}

enum Ecore_X_Window_State {
	ECORE_X_WINDOW_STATE_ICONIFIED = 0,
	ECORE_X_WINDOW_STATE_MODAL = 1,
	ECORE_X_WINDOW_STATE_STICKY = 2,
	ECORE_X_WINDOW_STATE_MAXIMIZED_VERT = 3,
	ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ = 4,
	ECORE_X_WINDOW_STATE_SHADED = 5,
	ECORE_X_WINDOW_STATE_SKIP_TASKBAR = 6,
	ECORE_X_WINDOW_STATE_SKIP_PAGER = 7,
	ECORE_X_WINDOW_STATE_HIDDEN = 8,
	ECORE_X_WINDOW_STATE_FULLSCREEN = 9,
	ECORE_X_WINDOW_STATE_ABOVE = 10,
	ECORE_X_WINDOW_STATE_BELOW = 11,
	ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION = 12,
	ECORE_X_WINDOW_STATE_UNKNOWN = 13
}

enum Ecore_X_Selection {
	ECORE_X_SELECTION_PRIMARY = 0,
	ECORE_X_SELECTION_SECONDARY = 1,
	ECORE_X_SELECTION_XDND = 2,
	ECORE_X_SELECTION_CLIPBOARD = 3
}

enum Ecore_X_Window_Stack_Mode {
	ECORE_X_WINDOW_STACK_ABOVE = 0,
	ECORE_X_WINDOW_STACK_BELOW = 1,
	ECORE_X_WINDOW_STACK_TOP_IF = 2,
	ECORE_X_WINDOW_STACK_BOTTOM_IF = 3,
	ECORE_X_WINDOW_STACK_OPPOSITE = 4
}

enum Ecore_X_Event_Mode {
	ECORE_X_EVENT_MODE_NORMAL = 0,
	ECORE_X_EVENT_MODE_WHILE_GRABBED = 1,
	ECORE_X_EVENT_MODE_GRAB = 2,
	ECORE_X_EVENT_MODE_UNGRAB = 3
}

enum Ecore_X_Event_Detail {
	ECORE_X_EVENT_DETAIL_ANCESTOR = 0,
	ECORE_X_EVENT_DETAIL_VIRTUAL = 1,
	ECORE_X_EVENT_DETAIL_INFERIOR = 2,
	ECORE_X_EVENT_DETAIL_NON_LINEAR = 3,
	ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL = 4,
	ECORE_X_EVENT_DETAIL_POINTER = 5,
	ECORE_X_EVENT_DETAIL_POINTER_ROOT = 6,
	ECORE_X_EVENT_DETAIL_DETAIL_NONE = 7
}

enum Ecore_X_Shape_Type {
	ECORE_X_SHAPE_BOUNDING = 0,
	ECORE_X_SHAPE_CLIP = 1
}

enum _Ecore_X_Randr_Rotation {
	ECORE_X_RANDR_ROT_0 = 1,
	ECORE_X_RANDR_ROT_90 = 2,
	ECORE_X_RANDR_ROT_180 = 4,
	ECORE_X_RANDR_ROT_270 = 8,
	ECORE_X_RANDR_FLIP_X = 16,
	ECORE_X_RANDR_FLIP_Y = 32
}

// Structs

struct Ecore_X_Rectangle {
	int x;
	int y;
	uint width;
	uint height;
}

struct Ecore_X_Event_Damage {
	int level;
	uint drawable;
	uint damage;
	int more;
	uint time;
	Ecore_X_Rectangle area;
	Ecore_X_Rectangle geometry;
}

struct Ecore_X_Screen_Refresh_Rate {
	int rate;
}

struct Ecore_X_Screen_Size {
	int width;
	int height;
}

struct N26_Ecore_X_Window_Attributes4__20E {
	int mine;
	int all;
	int no_propagate;
}

struct Ecore_X_Window_Attributes {
	uint root;
	int x;
	int y;
	int w;
	int h;
	int border;
	int depth;
	char visible;
	char viewable;
	char override_;
	char input_only;
	char save_under;
	N26_Ecore_X_Window_Attributes4__20E event_mask;
	int window_gravity;
	int pixel_gravity;
	uint colormap;
	void * visual;
}

struct Ecore_X_Event_Startup_Sequence {
	uint win;
}

struct Ecore_X_Event_Desktop_Change {
	uint win;
	uint desk;
	int source;
}

struct Ecore_X_Event_Ping {
	uint win;
	uint event_win;
	uint time;
}

struct 	Ecore_X_Event_Frame_Extents_Request {
	uint win;
}

struct Ecore_X_Event_Window_State_Request {
	uint win;
	int action;
	int[2] state;
	int source;
}

struct Ecore_X_Event_Window_Move_Resize_Request {
	uint win;
	int x;
	int y;
	int direction;
	int button;
	int source;
}

struct Ecore_X_Event_Window_Prop_Desktop_Change {
	uint win;
	int desktop;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Pid_Change {
	uint win;
	int pid;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Name_Class_Change {
	uint win;
	char * name;
	char * clas;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Client_Machine_Change {
	uint win;
	char * name;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Visible_Icon_Name_Change {
	uint win;
	char * name;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Icon_Name_Change {
	uint win;
	char * name;
	uint time;
}

struct Ecore_X_Event_Window_Prop_Visible_Title_Change {
	uint win;
	char * title;
	uint time;
}
struct Ecore_X_Event_Window_Prop_Title_Change {
	uint win;
	char * title;
	uint time;
}

struct Ecore_X_Event_Window_Delete_Request {
	uint win;
	uint time;
}

struct Ecore_X_Event_Screen_Change {
	uint win;
	uint root;
	int width;
	int height;
}

struct Ecore_X_Event_Sync_Alarm {
	uint time;
	uint alarm;
}

struct Ecore_X_Event_Sync_Counter {
	uint time;
}

struct Ecore_X_Event_Screensaver_Notify {
	uint win;
	int on;
	uint time;
}

struct Ecore_X_Event_Window_Shape {
	uint win;
	uint time;
}

union N29_Ecore_X_Event_Client_Message4__19E {
	char [20] b;
	short [10] s;
	int [5] l;
}

struct Ecore_X_Event_Client_Message {
	uint win;
	uint message_type;
	int format;
	N29_Ecore_X_Event_Client_Message4__19E data;
	uint time;
}

struct Ecore_X_Event_Xdnd_Finished {
	uint win;
	uint target;
	int completed;
	uint action;
}

struct N24_Ecore_X_Event_Xdnd_Drop4__18E {
	int x;
	int y;
}

struct Ecore_X_Event_Xdnd_Drop {
	uint win;
	uint source;
	uint action;
	N24_Ecore_X_Event_Xdnd_Drop4__18E position;
}

struct Ecore_X_Event_Xdnd_Leave {
	uint win;
	uint source;
}

struct Ecore_X_Event_Xdnd_Status {
	uint win;
	uint target;
	int will_accept;
	Ecore_X_Rectangle rectangle;
	uint action;
}

struct N28_Ecore_X_Event_Xdnd_Position4__17E {
	int x;
	int y;
}

struct Ecore_X_Event_Xdnd_Position {
	uint win;
	uint source;
	N28_Ecore_X_Event_Xdnd_Position4__17E position;
	uint action;
}

struct Ecore_X_Event_Xdnd_Enter {
	uint win;
	uint source;
	char * * types;
	int num_types;
}

struct Ecore_X_Selection_Data_Targets {
	Ecore_X_Selection_Data data;
	char * * targets;
	int num_targets;
}

struct Ecore_X_Selection_Data_Text {
	Ecore_X_Selection_Data data;
	char * text;
}

struct Ecore_X_Selection_Data_Files {
	Ecore_X_Selection_Data data;
	char * * files;
	int num_files;
}

struct Ecore_X_Selection_Data {
	int content;
	char * data;
	int length;
	int format;
	int function(void *) free;
}

struct Ecore_X_Event_Selection_Notify {
	uint win;
	uint time;
	int selection;
	char * target;
	void * data;
}

struct Ecore_X_Event_Selection_Request {
	uint owner;
	uint requestor;
	uint time;
	uint selection;
	uint target;
	uint property;
}

struct Ecore_X_Event_Selection_Clear {
	uint win;
	int selection;
	uint time;
}

struct Ecore_X_Event_Window_Colormap {
	uint win;
	uint cmap;
	int installed;
	uint time;
}

struct Ecore_X_Event_Window_Property {
	uint win;
	uint atom;
	uint time;
}

struct Ecore_X_Event_Window_Stack_Request {
	uint win;
	uint parent;
	int detail;
	uint time;
}

struct Ecore_X_Event_Window_Stack {
	uint win;
	uint event_win;
	int detail;
	uint time;
}

struct Ecore_X_Event_Window_Resize_Request {
	uint win;
	int w;
	int h;
	uint time;
}

struct Ecore_X_Event_Window_Gravity {
	uint win;
	uint time;
}

struct Ecore_X_Event_Window_Configure_Request {
	uint win;
	uint abovewin;
	int x;
	int y;
	int w;
	int h;
	int border;
	int detail;
	uint value_mask;
	uint time;
}

struct Ecore_X_Event_Window_Configure {
	uint win;
	uint abovewin;
	int x;
	int y;
	int w;
	int h;
	int border;
	uint override_;
	uint from_wm;
	uint time;
}

struct Ecore_X_Event_Window_Reparent {
	uint win;
	uint parent;
	uint time;
}

struct Ecore_X_Event_Window_Show_Request {
	uint win;
	uint parent;
	uint time;
}

struct Ecore_X_Event_Window_Show {
	uint win;
	uint time;
}

struct Ecore_X_Event_Window_Hide {
	uint win;
	uint time;
}

struct Ecore_X_Event_Window_Destroy {
	uint win;
	uint time;
}

struct Ecore_X_Event_Window_Create {
	uint win;
	int override_;
	uint time;
}

struct Ecore_X_Event_Window_Visibility_Change {
	uint win;
	int fully_obscured;
	uint time;
}

struct Ecore_X_Event_Window_Damage {
	uint win;
	int x;
	int y;
	int w;
	int h;
	int count;
	uint time;
}

struct Ecore_X_Event_Window_Keymap {
	uint win;
}

struct Ecore_X_Event_Window_Focus_Out {
	uint win;
	int mode;
	int detail;
	uint time;
}

struct Ecore_X_Event_Window_Focus_In {
	uint win;
	int mode;
	int detail;
	uint time;
}

struct N26_Ecore_X_Event_Mouse_Wheel4__15E {
	int x;
	int y;
}

struct Ecore_X_Event_Mouse_Wheel {
	int direction;
	int z;
	int modifiers;
	int x;
	int y;
	N26_Ecore_X_Event_Mouse_Wheel4__15E root;
	uint win;
	uint event_win;
	uint time;
}

struct N24_Ecore_X_Event_Mouse_Out4__14E {
	int x;
	int y;
}

struct _Ecore_X_Event_Mouse_Out {
	int modifiers;
	int x;
	int y;
	N24_Ecore_X_Event_Mouse_Out4__14E root;
	uint win;
	uint event_win;
	int mode;
	int detail;
	uint time;
}

struct N23_Ecore_X_Event_Mouse_In4__13E {
	int x;
	int y;
}

struct _Ecore_X_Event_Mouse_In {
	int modifiers;
	int x;
	int y;
	N23_Ecore_X_Event_Mouse_In4__13E root;
	uint win;
	uint event_win;
	int mode;
	int detail;
	uint time;
}

struct N25_Ecore_X_Event_Mouse_Move4__12E {
	int x;
	int y;
}

struct _Ecore_X_Event_Mouse_Move {
	int modifiers;
	int x;
	int y;
	N25_Ecore_X_Event_Mouse_Move4__12E root;
	uint win;
	uint event_win;
	uint time;
}

struct N30_Ecore_X_Event_Mouse_Button_Up4__11E {
	int x;
	int y;
}

struct _Ecore_X_Event_Mouse_Button_Up {
	int button;
	int modifiers;
	int x;
	int y;
	N30_Ecore_X_Event_Mouse_Button_Up4__11E root;
	uint win;
	uint event_win;
	uint time;
	uint double_click;
	uint triple_click;
}

struct N32_Ecore_X_Event_Mouse_Button_Down4__10E {
	int x;
	int y;
}

struct Ecore_X_Event_Mouse_Button_Down {
	int button;
	int modifiers;
	int x;
	int y;
	N32_Ecore_X_Event_Mouse_Button_Down4__10E root;
	uint win;
	uint event_win;
	uint time;
	uint double_click;
	uint triple_click;
}

struct Ecore_X_Event_Key_Up {
	char * keyname;
	char * keysymbol;
	char * key_compose;
	int modifiers;
	uint win;
	uint event_win;
	uint time;
}

struct Ecore_X_Event_Key_Down {
	char * keyname;
	char * keysymbol;
	char * key_compose;
	int modifiers;
	uint win;
	uint event_win;
	uint time;
}

struct Ecore_X_Icon {
	uint width;
	uint height;
	uint * data;
}

// Functions
extern(C)
{
	void ecore_x_dpms_timeout_off_set(uint);
	void ecore_x_dpms_timeout_suspend_set(uint);
	void ecore_x_dpms_timeout_standby_set(uint);
	uint ecore_x_dpms_timeout_off_get();
	uint ecore_x_dpms_timeout_suspend_get();
	uint ecore_x_dpms_timeout_standby_get();
	int ecore_x_dpms_timeouts_set(uint, uint, uint);
	void ecore_x_dpms_timeouts_get(uint*, uint*, uint*);
	void ecore_x_dpms_timeouts_get_fetch();
	void ecore_x_dpms_timeouts_get_prefetch();
	void ecore_x_dpms_enabled_set(int);
	int ecore_x_dpms_enabled_get();
	void ecore_x_dpms_enable_get_fetch();
	void ecore_x_dpms_enable_get_prefetch();
	int ecore_x_dpms_capable_get();
	void ecore_x_dpms_capable_get_fetch();
	void ecore_x_dpms_capable_get_prefetch();
	int ecore_x_dpms_query();
	int ecore_x_screen_is_composited(int);
	void ecore_x_damage_subtract(uint, uint, uint);
	void ecore_x_damage_del(uint);
	uint ecore_x_damage_new(uint, int);
	int ecore_x_damage_query();
	int ecore_x_composite_query();
	void ecore_x_region_picture_clip_set(uint, uint, int, int);
	void ecore_x_region_window_shape_set(uint, uint, int, int, int);
	void ecore_x_region_gc_clip_set(uint, void *, int, int);
	void ecore_x_region_expand(uint, uint, uint, uint, uint, uint);
	Ecore_X_Rectangle * ecore_x_region_fetch(uint, int *, Ecore_X_Rectangle *);
	void ecore_x_region_fetch_fetch();
	void ecore_x_region_fetch_prefetch(uint);
	void ecore_x_region_extents(uint, uint);
	void ecore_x_region_translate(uint, int, int);
	void ecore_x_region_invert(uint, Ecore_X_Rectangle *, uint);
	void ecore_x_region_subtract(uint, uint, uint);
	void ecore_x_region_intersect(uint, uint, uint);
	void ecore_x_region_combine(uint, uint, uint);
	void ecore_x_region_copy(uint, uint);
	void ecore_x_region_set(uint, Ecore_X_Rectangle *, int);
	void ecore_x_region_del(uint);
	uint ecore_x_region_new_from_picture(uint);
	uint ecore_x_region_new_from_gc(void *);
	uint ecore_x_region_new_from_window(uint, int);
	uint ecore_x_region_new_from_bitmap(uint);
	uint ecore_x_region_new(Ecore_X_Rectangle *, int);
	int ecore_x_randr_screen_refresh_rate_set(uint, Ecore_X_Screen_Size, Ecore_X_Screen_Refresh_Rate);
	Ecore_X_Screen_Refresh_Rate ecore_x_randr_current_screen_refresh_rate_get(uint);
	Ecore_X_Screen_Refresh_Rate * ecore_x_randr_screen_refresh_rates_get(uint, int, int *);
	int ecore_x_randr_screen_size_set(uint, Ecore_X_Screen_Size);
	Ecore_X_Screen_Size ecore_x_randr_current_screen_size_get(uint);
	Ecore_X_Screen_Size * ecore_x_randr_screen_sizes_get(uint, int *);
	void ecore_x_randr_screen_rotation_set(uint, int);
	int ecore_x_randr_screen_rotation_get(uint);
	int ecore_x_randr_screen_rotations_get(uint);
	void ecore_x_randr_get_screen_info_fetch();
	void ecore_x_randr_get_screen_info_prefetch(uint);
	int ecore_x_randr_events_select(uint, int);
	int ecore_x_randr_query();
	int ecore_x_sync_alarm_free(uint);
	uint ecore_x_sync_alarm_new(uint);
	void ecore_x_pointer_xy_get(uint, int *, int *);
	void ecore_x_pointer_xy_get_fetch();
	void ecore_x_pointer_xy_get_prefetch(uint);
	void ecore_x_pointer_last_xy_get(int *, int *);
	void ecore_x_events_allow_all();
	void ecore_x_focus_reset();
	void ecore_x_window_key_ungrab(uint, char *, int, int);
	void ecore_x_window_key_grab(uint, char *, int, int);
	void ecore_x_window_button_ungrab(uint, int, int, int);
	void ecore_x_window_button_grab(uint, int, int, int, int);
	void ecore_x_passive_grab_replay_func_set(int function(void *, int, void *), void *);
	void ecore_x_ungrab();
	void ecore_x_grab();
	void ecore_x_keyboard_ungrab();
	int ecore_x_keyboard_grab(uint);
	int ecore_x_pointer_warp(uint, int, int);
	void ecore_x_pointer_ungrab();
	int ecore_x_pointer_confine_grab(uint);
	int ecore_x_pointer_grab(uint);
	int ecore_x_pointer_control_get(int *, int *, int *);
	void ecore_x_pointer_control_get_fetch();
	void ecore_x_pointer_control_get_prefetch();
	int ecore_x_pointer_control_set(int, int, int);
	uint * ecore_x_window_children_get(uint, int *);
	void ecore_x_window_save_set_del(uint);
	void ecore_x_window_save_set_add(uint);
	int ecore_x_window_attributes_get(uint, Ecore_X_Window_Attributes *);
	void ecore_x_get_window_attributes_fetch();
	void ecore_x_get_window_attributes_prefetch(uint);
	void ecore_x_screensaver_event_listen_set(int);
	int ecore_x_screensaver_interval_get();
	void ecore_x_screensaver_interval_set(int);
	int ecore_x_screensaver_expose_get();
	void ecore_x_screensaver_expose_set(int);
	int ecore_x_screensaver_blank_get();
	void ecore_x_screensaver_blank_set(int);
	int ecore_x_screensaver_timeout_get();
	void ecore_x_screensaver_timeout_set(int);
	void ecore_x_screensaver_set(int, int, int, int);
	void ecore_x_get_screensaver_fetch();
	void ecore_x_get_screensaver_prefetch();
	int ecore_x_screensaver_idle_time_get();
	void ecore_x_screensaver_idle_time_fetch();
	void ecore_x_screensaver_idle_time_prefetch();
	int ecore_x_screensaver_event_available_get();
	int ecore_x_xinerama_screen_geometry_get(int, int *, int *, int *, int *);
	int ecore_x_xinerama_screen_count_get();
	void ecore_x_xinerama_query_screens_fetch();
	void ecore_x_xinerama_query_screens_prefetch();
	void ecore_x_e_frame_size_set(uint, int, int, int, int);
	void ecore_x_e_init();
	
	void ecore_x_netwm_desktop_request_send(uint, uint, uint);
	void ecore_x_netwm_state_request_send(uint, uint, int, int, int);
	void ecore_x_netwm_sync_request_send(uint, uint);
	void ecore_x_netwm_ping_send(uint);
	int ecore_x_netwm_sync_counter_get(uint, uint *);
	void ecore_x_netwm_sync_counter_get_fetch();
	void ecore_x_netwm_sync_counter_get_prefetch(uint);
	int ecore_x_netwm_frame_size_get(uint, int *, int *, int *, int *);
	void ecore_x_netwm_frame_size_get_fetch();
	void ecore_x_netwm_frame_size_get_prefetch(uint);
	void ecore_x_netwm_frame_size_set(uint, int, int, int, int);
	int ecore_x_netwm_opacity_get(uint, uint *);
	void ecore_x_netwm_opacity_get_fetch();
	void ecore_x_netwm_opacity_get_prefetch(uint);
	void ecore_x_netwm_opacity_set(uint, uint);
	int ecore_x_netwm_allowed_action_get(uint, int * *, uint *);
	void ecore_x_netwm_allowed_action_get_fetch();
	void ecore_x_netwm_allowed_action_get_prefetch(uint);
	void ecore_x_netwm_allowed_action_set(uint, int *, uint);
	int ecore_x_netwm_allowed_action_isset(uint, int);
	int ecore_x_netwm_window_type_get(uint, int *);
	void ecore_x_netwm_window_type_get_fetch();
	void ecore_x_netwm_window_type_get_prefetch(uint);
	void ecore_x_netwm_window_type_set(uint, int);
	int ecore_x_netwm_window_state_get(uint, int * *, uint *);
	void ecore_x_netwm_window_state_get_fetch();
	void ecore_x_netwm_window_state_get_prefetch(uint);
	void ecore_x_netwm_window_state_set(uint, int *, uint);
	int ecore_x_netwm_user_time_get(uint, uint *);
	void ecore_x_netwm_user_time_get_fetch();
	void ecore_x_netwm_user_time_get_prefetch(uint);
	void ecore_x_netwm_user_time_set(uint, uint);
	int ecore_x_netwm_handled_icons_get(uint);
	void ecore_x_netwm_handled_icons_get_fetch();
	void ecore_x_netwm_handled_icons_get_prefetch(uint);
	void ecore_x_netwm_handled_icons_set(uint);
	int ecore_x_netwm_pid_get(uint, int *);
	void ecore_x_netwm_pid_get_fetch();
	void ecore_x_netwm_pid_get_prefetch(uint);
	void ecore_x_netwm_pid_set(uint, int);
	int ecore_x_netwm_icon_geometry_get(uint, int *, int *, int *, int *);
	void ecore_x_netwm_icon_geometry_get_fetch();
	void ecore_x_netwm_icon_geometry_get_prefetch(uint);
	void ecore_x_netwm_icon_geometry_set(uint, int, int, int, int);
	int ecore_x_netwm_icons_get(uint, Ecore_X_Icon * *, int *);
	void ecore_x_netwm_icons_get_fetch();
	void ecore_x_netwm_icons_get_prefetch(uint);
	int ecore_x_netwm_strut_partial_get(uint, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *);
	void ecore_x_netwm_strut_partial_get_fetch();
	void ecore_x_netwm_strut_partial_get_prefetch(uint);
	void ecore_x_netwm_strut_partial_set(uint, int, int, int, int, int, int, int, int, int, int, int, int);
	int ecore_x_netwm_strut_get(uint, int *, int *, int *, int *);
	void ecore_x_netwm_strut_get_fetch();
	void ecore_x_netwm_strut_get_prefetch(uint);
	void ecore_x_netwm_strut_set(uint, int, int, int, int);
	int ecore_x_netwm_desktop_get(uint, uint *);
	void ecore_x_netwm_desktop_get_fetch();
	void ecore_x_netwm_desktop_get_prefetch(uint);
	void ecore_x_netwm_desktop_set(uint, uint);
	int ecore_x_netwm_visible_icon_name_get(uint, char * *);
	void ecore_x_netwm_visible_icon_name_get_fetch();
	void ecore_x_netwm_visible_icon_name_get_prefetch(uint);
	void ecore_x_netwm_visible_icon_name_set(uint, char *);
	int ecore_x_netwm_icon_name_get(uint, char * *);
	void ecore_x_netwm_icon_name_get_fetch();
	void ecore_x_netwm_icon_name_get_prefetch(uint);
	void ecore_x_netwm_icon_name_set(uint, char *);
	int ecore_x_netwm_visible_name_get(uint, char * *);
	void ecore_x_netwm_visible_name_get_fetch();
	void ecore_x_netwm_visible_name_get_prefetch(uint);
	void ecore_x_netwm_visible_name_set(uint, char *);
	int ecore_x_netwm_startup_id_get(uint, char * *);
	void ecore_x_netwm_startup_id_get_fetch();
	void ecore_x_netwm_startup_id_get_prefetch(uint);
	void ecore_x_netwm_startup_id_set(uint, char *);
	int ecore_x_netwm_name_get(uint, char * *);
	void ecore_x_netwm_name_get_fetch();
	void ecore_x_netwm_name_get_prefetch(uint);
	void ecore_x_netwm_name_set(uint, char *);
	void ecore_x_netwm_client_active_set(uint, uint);
	void ecore_x_netwm_client_list_stacking_set(uint, uint *, uint);
	void ecore_x_netwm_client_list_set(uint, uint *, uint);
	void ecore_x_netwm_showing_desktop_set(uint, int);
	void ecore_x_netwm_desk_layout_set(uint, int, int, int, int);
	void ecore_x_netwm_desk_viewports_set(uint, uint *, uint);
	void ecore_x_netwm_desk_current_set(uint, uint);
	void ecore_x_netwm_desk_workareas_set(uint, uint *, uint);
	void ecore_x_netwm_desk_size_set(uint, uint, uint);
	void ecore_x_netwm_desk_names_set(uint, char * *, uint);
	void ecore_x_netwm_desk_roots_set(uint, uint *, uint);
	void ecore_x_netwm_desk_count_set(uint, uint);
	int ecore_x_netwm_supported_get(uint, uint * *, int *);
	void ecore_x_netwm_supported_get_fetch();
	void ecore_x_netwm_supported_get_prefetch(uint);
	void ecore_x_netwm_supported_set(uint, uint *, int);
	void ecore_x_netwm_wm_identify(uint, uint, char *);
	void ecore_x_netwm_shutdown();
	void ecore_x_netwm_init();
	
	void ecore_x_mwm_borderless_set(uint, int);
	int ecore_x_mwm_hints_get(uint, int *, int *, int *);
	void ecore_x_mwm_hints_get_fetch();
	void ecore_x_mwm_hints_get_prefetch(uint);
	void ecore_x_icccm_iconic_request_send(uint, uint);
	uint ecore_x_icccm_client_leader_get(uint);
	void ecore_x_icccm_client_leader_set(uint, uint);
	char * ecore_x_icccm_window_role_get(uint);
	void ecore_x_icccm_window_role_set(uint, char *);
	uint ecore_x_icccm_transient_for_get(uint);
	void ecore_x_icccm_transient_for_unset(uint);
	void ecore_x_icccm_transient_for_set(uint, uint);
	void ecore_x_icccm_colormap_window_unset(uint, uint);
	void ecore_x_icccm_colormap_window_set(uint, uint);
	void ecore_x_icccm_icon_name_set(uint, char *);
	char * ecore_x_icccm_icon_name_get(uint);
	void ecore_x_icccm_command_get(uint, int *, char * * *);
	void ecore_x_icccm_command_set(uint, int, char * *);
	char * ecore_x_icccm_client_machine_get(uint);
	void ecore_x_icccm_name_class_get(uint, char * *, char * *);
	void ecore_x_icccm_name_class_set(uint, char *, char *);
	int ecore_x_icccm_protocol_isset(uint, int);
	void ecore_x_icccm_protocol_set(uint, int, int);
	char * ecore_x_icccm_title_get(uint);
	void ecore_x_icccm_title_set(uint, char *);
	int ecore_x_icccm_size_pos_hints_get(uint, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, double *, double *);
	void ecore_x_icccm_size_pos_hints_set(uint, int, int, int, int, int, int, int, int, int, int, double, double);
	int ecore_x_icccm_hints_get(uint, int *, int *, uint *, uint *, uint *, uint *, int *);
	void ecore_x_icccm_hints_set(uint, int, int, uint, uint, uint, uint, int);
	void ecore_x_icccm_move_resize_send(uint, int, int, int, int);
	void ecore_x_icccm_save_yourself_send(uint, uint);
	void ecore_x_icccm_take_focus_send(uint, uint);
	void ecore_x_icccm_delete_window_send(uint, uint);
	int ecore_x_icccm_state_get(uint);
	void ecore_x_icccm_state_set(uint, int);
	void ecore_x_icccm_init();
	uint ecore_x_atom_get(char *);
	void ecore_x_atom_get_fetch();
	void ecore_x_atom_get_prefetch(char *);
	void ecore_x_window_client_sniff(uint);
	void ecore_x_window_sniff(uint);
	void ecore_x_window_client_manage(uint);
	void ecore_x_window_container_manage(uint);
	int ecore_x_window_manage(uint);
	uint ecore_x_window_root_first_get();
	uint* ecore_x_window_root_list(int *);
	int ecore_x_cursor_size_get();
	void ecore_x_cursor_size_set(int);
	uint ecore_x_cursor_shape_get(int);
	void ecore_x_cursor_free(uint);
	uint ecore_x_cursor_new(uint, int *, int, int, int, int);
	int ecore_x_cursor_color_supported_get();
	int ecore_x_drawable_depth_get(uint);
	int ecore_x_drawable_border_width_get(uint);
	void ecore_x_drawable_geometry_get(uint, int *, int *, int *, int *);
	void ecore_x_drawable_geometry_get_fetch();
	void ecore_x_drawable_geometry_get_prefetch(uint);
	int ecore_x_mouse_up_send(uint, int, int, int);
	int ecore_x_mouse_down_send(uint, int, int, int);
	int ecore_x_mouse_move_send(uint, int, int);
	int ecore_x_client_message8_send(uint, uint, void *, int);
	int ecore_x_client_message32_send(uint, uint, int, int, int, int, int, int);
	void ecore_x_gc_del(void *);
	void * ecore_x_gc_new(uint);
	int ecore_x_pixmap_depth_get(uint);
	void ecore_x_pixmap_geometry_get(uint, int *, int *, int *, int *);
	void ecore_x_pixmap_paste(uint, uint, void *, int, int, int, int, int, int);
	void ecore_x_pixmap_del(uint);
	uint ecore_x_pixmap_new(uint, int, int, int);
	void ecore_x_window_shape_events_select(uint, int);
	Ecore_X_Rectangle * ecore_x_window_shape_rectangles_get(uint, int *);
	void ecore_x_window_shape_rectangles_get_fetch();
	void ecore_x_window_shape_rectangles_get_prefetch(uint);
	void ecore_x_window_shape_rectangles_add(uint, Ecore_X_Rectangle *, int);
	void ecore_x_window_shape_rectangle_clip(uint, int, int, int, int);
	void ecore_x_window_shape_rectangle_add(uint, int, int, int, int);
	void ecore_x_window_shape_window_add_xy(uint, uint, int, int);
	void ecore_x_window_shape_window_add(uint, uint);
	void ecore_x_window_shape_rectangles_set(uint, Ecore_X_Rectangle *, int);
	void ecore_x_window_shape_rectangle_set(uint, int, int, int, int);
	void ecore_x_window_shape_window_set_xy(uint, uint, int, int);
	void ecore_x_window_shape_window_set(uint, uint);
	void ecore_x_window_shape_mask_set(uint, uint);
	int * ecore_x_window_prop_protocol_list_get(uint, int *);
	int ecore_x_window_prop_protocol_isset(uint, int);
	char * ecore_x_window_prop_string_get(uint, uint);
	void ecore_x_window_prop_string_get_fetch();
	void ecore_x_window_prop_string_get_prefetch(uint, uint);
	void ecore_x_window_prop_string_set(uint, uint, char *);
	uint * ecore_x_window_prop_list(uint, int *);
	void ecore_x_window_prop_list_fetch();
	void ecore_x_window_prop_list_prefetch(uint);
	void ecore_x_window_prop_property_del(uint, uint);
	int ecore_x_window_prop_property_get(uint, uint, uint, int, char * *, int *);
	void ecore_x_window_prop_property_get_fetch();
	void ecore_x_window_prop_property_get_prefetch(uint, uint, uint);
	void ecore_x_window_prop_property_set(uint, uint, uint, int, void *, int);
	uint ecore_x_window_prop_any_type();
	int ecore_x_window_prop_window_list_get(uint, uint, uint * *);
	int ecore_x_window_prop_window_get(uint, uint, uint *, uint);
	void ecore_x_window_prop_window_get_fetch();
	void ecore_x_window_prop_window_get_prefetch(uint, uint);
	void ecore_x_window_prop_window_set(uint, uint, uint *, uint);
	void ecore_x_window_prop_atom_list_change(uint, uint, uint, int);
	int ecore_x_window_prop_atom_list_get(uint, uint, uint * *);
	int ecore_x_window_prop_atom_get(uint, uint, uint *, uint);
	void ecore_x_window_prop_atom_get_fetch();
	void ecore_x_window_prop_atom_get_prefetch(uint, uint);
	void ecore_x_window_prop_atom_set(uint, uint, uint *, uint);
	void ecore_x_window_prop_xid_list_change(uint, uint, uint, uint, int);
	int ecore_x_window_prop_xid_list_get(uint, uint, uint, uint * *);
	int ecore_x_window_prop_xid_get(uint, uint, uint, uint *, uint);
	void ecore_x_window_prop_xid_get_fetch();
	void ecore_x_window_prop_xid_get_prefetch(uint, uint, uint);
	void ecore_x_window_prop_xid_set(uint, uint, uint, uint *, uint);
	int ecore_x_window_prop_card32_list_get(uint, uint, uint * *);
	int ecore_x_window_prop_card32_get(uint, uint, uint *, uint);
	void ecore_x_window_prop_card32_get_fetch();
	void ecore_x_window_prop_card32_get_prefetch(uint, uint);
	void ecore_x_window_prop_card32_set(uint, uint, uint *, uint);
	void ecore_x_window_override_set(uint, int);
	void ecore_x_window_area_expose(uint, int, int, int, int);
	void ecore_x_window_area_clear(uint, int, int, int, int);
	void ecore_x_window_pixmap_set(uint, uint);
	void ecore_x_window_pixel_gravity_set(uint, int);
	void ecore_x_window_gravity_set(uint, int);
	void ecore_x_window_background_color_set(uint, ushort, ushort, ushort);
	uint ecore_x_window_parent_get(uint);
	void ecore_x_query_tree_fetch();
	void ecore_x_query_tree_prefetch(uint);
	uint ecore_x_window_at_xy_begin_get(uint, int, int);
	uint ecore_x_window_at_xy_with_skip_get(int, int, uint *, int);
	uint ecore_x_window_at_xy_get(int, int);
	uint ecore_x_window_root_get(uint);
	void ecore_x_window_shadow_tree_flush();
	uint ecore_x_window_shadow_parent_get(uint, uint);
	uint ecore_x_window_shadow_tree_at_xy_with_skip_get(uint, int, int, uint *, int);
	int ecore_x_window_visible_get(uint);
	void ecore_x_window_defaults_set(uint);
	void ecore_x_window_cursor_show(uint, int);
	int ecore_x_window_depth_get(uint);
	void ecore_x_window_border_width_set(uint, int);
	int ecore_x_window_border_width_get(uint);
	void ecore_x_window_geometry_get(uint, int *, int *, int *, int *);
	void ecore_x_window_size_get(uint, int *, int *);
	void ecore_x_window_reparent(uint, uint, int, int);
	void ecore_x_window_lower(uint);
	void ecore_x_window_raise(uint);
	uint ecore_x_window_focus_get();
	void ecore_x_get_input_focus_fetch();
	void ecore_x_get_input_focus_prefetch();
	void ecore_x_window_focus_at_time(uint, uint);
	void ecore_x_window_focus(uint);
	void ecore_x_window_move_resize(uint, int, int, int, int);
	void ecore_x_window_resize(uint, int, int);
	void ecore_x_window_move(uint, int, int);
	void ecore_x_window_hide(uint);
	void ecore_x_window_show(uint);
	void ecore_x_window_delete_request_send(uint);
	uint * ecore_x_window_ignore_list(int *);
	void ecore_x_window_ignore_set(uint, int);
	void ecore_x_window_del(uint);
	void ecore_x_window_cursor_set(uint, uint);
	void ecore_x_window_configure(uint, int, int, int, int, int, int, uint, int);
	uint ecore_x_window_input_new(uint, int, int, int, int);
	uint ecore_x_window_override_argb_new(uint, int, int, int, int);
	uint ecore_x_window_argb_new(uint, int, int, int, int);
	uint ecore_x_window_manager_argb_new(uint, int, int, int, int);
	int ecore_x_window_argb_get(uint);
	uint ecore_x_window_override_new(uint, int, int, int, int);
	uint ecore_x_window_new(uint, int, int, int, int);
	void ecore_x_dnd_send_finished();
	void ecore_x_dnd_send_status(int, int, Ecore_X_Rectangle, uint);
	int ecore_x_dnd_drop();
	int ecore_x_dnd_begin(uint, char *, int);
	void ecore_x_dnd_begin_fetch();
	void ecore_x_dnd_begin_prefetch(uint);
	void ecore_x_dnd_actions_set(uint, uint *, uint);
	void ecore_x_dnd_types_set(uint, char * *, uint);
	void ecore_x_dnd_type_set(uint, char *, int);
	int ecore_x_dnd_type_isset(uint, char *);
	void ecore_x_dnd_type_get_fetch();
	void ecore_x_dnd_type_get_prefetch(uint);
	int ecore_x_dnd_version_get(uint);
	void ecore_x_dnd_version_get_fetch();
	void ecore_x_dnd_version_get_prefetch(uint);
	void ecore_x_dnd_aware_set(uint, int);
	void ecore_x_selection_parser_del(char *);
	void ecore_x_selection_parser_add(char *, void * function(char *, void *, int, int));
	void ecore_x_selection_converter_atom_del(uint);
	void ecore_x_selection_converter_del(char *);
	void ecore_x_selection_converter_atom_add(uint, int function(char *, void *, int, void * *, int *));
	void ecore_x_selection_converter_add(char *, int function(char *, void *, int, void * *, int *));
	int ecore_x_selection_convert(uint, uint, void * *);
	void ecore_x_selection_clipboard_request(uint, char *);
	void ecore_x_selection_xdnd_request(uint, char *);
	void ecore_x_selection_secondary_request(uint, char *);
	void ecore_x_selection_primary_request(uint, char *);
	int ecore_x_selection_clipboard_clear();
	int ecore_x_selection_clipboard_set(uint, void *, int);
	void ecore_x_selection_clipboard_fetch();
	void ecore_x_selection_clipboard_prefetch();
	int ecore_x_selection_xdnd_clear();
	int ecore_x_selection_xdnd_set(uint, void *, int);
	void ecore_x_selection_xdnd_fetch();
	void ecore_x_selection_xdnd_prefetch();
	int ecore_x_selection_secondary_clear();
	int ecore_x_selection_secondary_set(uint, void *, int);
	void ecore_x_selection_secondary_fetch();
	void ecore_x_selection_secondary_prefetch();
	int ecore_x_selection_primary_clear();
	int ecore_x_selection_primary_set(uint, void *, int);
	void ecore_x_selection_primary_fetch();
	void ecore_x_selection_primary_prefetch();
	int ecore_x_selection_notify_send(uint, uint, uint, uint, uint);
	void ecore_x_event_mask_unset(uint, int);
	void ecore_x_event_mask_set(uint, int);
	int ecore_x_error_code_get();
	int ecore_x_error_request_get();
	void ecore_x_io_error_handler_set(void function(void *), void *);
	void ecore_x_error_handler_set(void function(void *), void *);
	uint ecore_x_current_time_get();
	void ecore_x_kill(uint);
	void ecore_x_killall(uint);
	void ecore_x_sync();
	void ecore_x_flush();
	double ecore_x_double_click_time_get();
	void ecore_x_double_click_time_set(double);
	void* ecore_x_default_screen_get();
	int ecore_x_fd_get();
	void* ecore_x_connection_get();
	void* ecore_x_display_get();
	
	int ecore_x_disconnect();
	int ecore_x_shutdown();
	int ecore_x_init(char*);
}

// What are these used for?
int ECORE_X_LOCK_CAPS;
int ECORE_X_LOCK_NUM;
int ECORE_X_LOCK_SCROLL;
int ECORE_X_MODIFIER_WIN;
int ECORE_X_MODIFIER_ALT;
int ECORE_X_MODIFIER_CTRL;
int ECORE_X_MODIFIER_SHIFT;
int ECORE_X_EVENT_XDND_FINISHED;
int ECORE_X_EVENT_XDND_DROP;
int ECORE_X_EVENT_XDND_LEAVE;
int ECORE_X_EVENT_XDND_STATUS;
int ECORE_X_EVENT_XDND_POSITION;
int ECORE_X_EVENT_XDND_ENTER;
int ECORE_X_EVENT_STARTUP_SEQUENCE_REMOVE;
int ECORE_X_EVENT_STARTUP_SEQUENCE_CHANGE;
int ECORE_X_EVENT_STARTUP_SEQUENCE_NEW;
int ECORE_X_EVENT_DESKTOP_CHANGE;
int ECORE_X_EVENT_PING;
int ECORE_X_EVENT_FRAME_EXTENTS_REQUEST;
int ECORE_X_EVENT_WINDOW_STATE_REQUEST;
int ECORE_X_EVENT_WINDOW_MOVE_RESIZE_REQUEST;
int ECORE_X_EVENT_WINDOW_DELETE_REQUEST;
int ECORE_X_EVENT_DAMAGE_NOTIFY;
int ECORE_X_EVENT_SCREEN_CHANGE;
int ECORE_X_EVENT_SYNC_ALARM;
int ECORE_X_EVENT_SYNC_COUNTER;
int ECORE_X_EVENT_SCREENSAVER_NOTIFY;
int ECORE_X_EVENT_WINDOW_SHAPE;
int ECORE_X_EVENT_CLIENT_MESSAGE;
int ECORE_X_EVENT_SELECTION_NOTIFY;
int ECORE_X_EVENT_SELECTION_REQUEST;
int ECORE_X_EVENT_SELECTION_CLEAR;
int ECORE_X_EVENT_WINDOW_MAPPING;
int ECORE_X_EVENT_WINDOW_COLORMAP;
int ECORE_X_EVENT_WINDOW_PROPERTY;
int ECORE_X_EVENT_WINDOW_STACK_REQUEST;
int ECORE_X_EVENT_WINDOW_STACK;
int ECORE_X_EVENT_WINDOW_RESIZE_REQUEST;
int ECORE_X_EVENT_WINDOW_GRAVITY;
int ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST;
int ECORE_X_EVENT_WINDOW_CONFIGURE;
int ECORE_X_EVENT_WINDOW_REPARENT;
int ECORE_X_EVENT_WINDOW_SHOW_REQUEST;
int ECORE_X_EVENT_WINDOW_SHOW;
int ECORE_X_EVENT_WINDOW_HIDE;
int ECORE_X_EVENT_WINDOW_DESTROY;
int ECORE_X_EVENT_WINDOW_CREATE;
int ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE;
int ECORE_X_EVENT_WINDOW_DAMAGE;
int ECORE_X_EVENT_WINDOW_KEYMAP;
int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
int ECORE_X_EVENT_WINDOW_FOCUS_IN;
int ECORE_X_EVENT_MOUSE_WHEEL;
int ECORE_X_EVENT_MOUSE_OUT;
int ECORE_X_EVENT_MOUSE_IN;
int ECORE_X_EVENT_MOUSE_MOVE;
int ECORE_X_EVENT_MOUSE_BUTTON_UP;
int ECORE_X_EVENT_MOUSE_BUTTON_DOWN;
int ECORE_X_EVENT_KEY_UP;
int ECORE_X_EVENT_KEY_DOWN;
uint ECORE_X_DND_ACTION_PRIVATE;
uint ECORE_X_DND_ACTION_ASK;
uint ECORE_X_DND_ACTION_LINK;
uint ECORE_X_DND_ACTION_MOVE;
uint ECORE_X_DND_ACTION_COPY;
